.ui-inputfield {
    margin: 0;
    outline: medium none;
    padding: 4px;
    font-weight: normal;
}

input[type=text]::-ms-clear {
    display: none;
}

.ui-widget-header .ui-inputfield,
.ui-widget-content .ui-inputfield {
    font-weight: normal;
}

.ui-inputtextarea-resizable {
    overflow: hidden;
    resize:none;
}

.ui-selectonelistbox,
.ui-selectmanymenu,
.ui-multiselectlistbox-listcontainer {
    padding: 2px;
    width: 150px;
}

.ui-selectonelistbox .ui-selectlistbox-listcontainer,
.ui-selectmanymenu .ui-selectlistbox-listcontainer,
.ui-multiselectlistbox-listcontainer {
    overflow:auto;
}

.ui-selectonelistbox.ui-state-disabled .ui-selectlistbox-listcontainer,
.ui-selectmanymenu.ui-state-disabled .ui-selectlistbox-listcontainer {
    overflow:hidden;
}

.ui-selectonelistbox .ui-selectlistbox-list,
.ui-selectmanymenu .ui-selectlistbox-list,
.ui-multiselectlistbox .ui-multiselectlistbox-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.ui-selectonelistbox .ui-selectlistbox-item,
.ui-selectmanymenu .ui-selectlistbox-item,
.ui-multiselectlistbox .ui-multiselectlistbox-item {
    margin: 2px;
    border: 0 none;
    cursor: pointer;
    font-weight: normal;
}

.ui-selectonelistbox table.ui-selectlistbox-list,
.ui-selectmanymenu table.ui-selectlistbox-list {
    border-collapse:collapse;
    width:100%;
}

.ui-selectlistbox-filter.ui-inputfield {
    padding-right: 12%;
    padding-left: 2%;
    width: 85%;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.ui-selectlistbox-filter-container {
    position: relative;
    margin: 0.1em 0 0.1em 0;
    padding: 0;
}

.ui-selectlistbox-filter-container .ui-icon {
    position: absolute;
    top: 5px;
    right: 2px;
}

.ui-multiselectlistbox .ui-multiselectlistbox-listcontainer {
    float: left;
    margin-right: 4px;
}

.ui-multiselectlistbox .ui-multiselectlistbox-item {
    white-space: nowrap;
}

.ui-multiselectlistbox.ui-state-disabled .ui-multiselectlistbox-item {
    cursor: default;
}

.ui-multiselectlistbox .ui-multiselectlistbox-header {
    text-align: center;
    padding: 2px 10px;
    border-bottom: 0px none;
}

.ui-listbox-outline {
    outline: 1px dotted black;
    z-index: 1;
}

/**
 * Checkbox
 */
.ui-chkbox {
    display: inline-block;
    vertical-align: middle;
}

.ui-chkbox .ui-chkbox-box {
    width: 16px;
    height: 16px;
    display: inline-block;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
}

.ui-chkbox-icon.ui-icon {
    overflow: visible;
}

.ui-chkbox .ui-chkbox-label {
    cursor: pointer;
    margin: 0 16px 0 8px;
    outline: medium none;
    z-index: 1;
    display: inline-block;
    vertical-align: top;
}

.ui-selectmanycheckbox label {
    vertical-align: middle;
    cursor: pointer;
    margin: 0 16px 0 8px;
    outline: medium none;
    z-index: 1;
    display: inline-block;
}

.ui-selectmanycheckbox .ui-chkbox .ui-chkbox-box {
    display: block;
}

.ui-selectoneradio label {
    cursor: pointer;
    display: inline-block;
    margin: 0 16px 0 8px;
    vertical-align: middle;
}

.ui-selectmanycheckbox.ui-widget td,
.ui-selectoneradio.ui-widget td {
    border: 0 none;
}

.ui-panelgrid .ui-selectoneradio.ui-grid-responsive .ui-grid-row,
.ui-panelgrid .ui-selectmanycheckbox.ui-grid-responsive .ui-grid-row {
    border-top: 0px none;
}

.ui-selectoneradio.ui-grid-responsive .ui-grid-row > div,
.ui-selectmanycheckbox.ui-grid-responsive .ui-grid-row > div {
    padding: .5em;
}

.ui-selectmanycheckbox .ui-selectmanycheckbox-item-group{
    font-weight: bold;
}

.ui-selectmanycheckbox .ui-selectmanycheckbox-responsive-group {
    padding: .5em .5em .5em 0px;
}

/** RadioButton **/
.ui-radiobutton {
    margin: 3px 0;
    width: 16px;
    line-height: 16px;
    display: inline-block;
    vertical-align: middle;
}
.ui-radiobutton .ui-radiobutton-box {
    width: 16px;
    height: 16px;
    line-height: 16px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}
.ui-radiobutton-icon {
    margin-left: 1px;
}

.ui-radiobutton.ui-radiobutton-native {
    margin: 0;
    padding: 0;
}

.ui-radiobutton.ui-radiobutton-native  .ui-helper-hidden-accessible {
    clip: auto;
    position: static !important;
    width: auto;
    height: auto;
    overflow: visible;
    margin: 0;
    padding: 0;
}

.ui-radiobutton.ui-radiobutton-native  .ui-radiobutton-box {
    display:none;
}

.ui-radiobutton.ui-radiobutton-native .ui-helper-hidden-accessible input {
    margin: 0;
}

.ui-selectoneradio-native label {
    margin: 0;
}

/** SelectOneMenu **/
.ui-selectonemenu {
    display: inline-block;
    position: relative;
    width: auto;
    zoom: 1;
    cursor: pointer;
    padding-right: 22px;
    vertical-align: top;
}

.ui-selectonemenu .ui-selectonemenu-trigger {
    border-right: none;
    border-top: none;
    border-bottom: none;
    cursor: pointer;
    width: 16px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    padding: 0 3px;
}

.ui-selectonemenu .ui-selectonemenu-trigger  .ui-icon {
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.ui-selectonemenu .ui-selectonemenu-label  {
    display: block;
    border: none;
    white-space: nowrap;
    overflow: hidden;
    font-weight: normal;
    width: 100%;
    text-align: left;
}

.ui-selectonemenu.ui-state-disabled .ui-selectonemenu-trigger,
.ui-selectonemenu.ui-state-disabled .ui-selectonemenu-label {
    cursor: default;
}

.ui-selectonemenu label.ui-selectonemenu-label  {
    cursor: pointer;
}

.ui-selectonemenu input.ui-selectonemenu-label  {
    cursor: default;
}

.ui-selectonemenu-panel {
    position: absolute;
    height: auto;
}

.ui-selectonemenu-panel .ui-selectonemenu-items-wrapper {
    overflow: auto;
}

.ui-selectonemenu-panel .ui-selectonemenu-item {
    font-weight: normal;
    cursor:pointer;
}

.ui-selectonemenu-panel .ui-selectonemenu-item-group {
    font-weight: bold;
}

.ui-selectonemenu-panel .ui-selectonemenu-list {
    padding: 0.4em;
    border: 0 none;
}

.ui-selectonemenu-panel .ui-selectonemenu-list-item {
    border:0px none;
    margin:1px 0;
    padding:3px 5px;
    text-align:left;
    white-space: nowrap;
}

.ui-selectonemenu-panel .ui-selectonemenu-table {
    border-collapse:collapse;
    width:100%;
}

.ui-selectonemenu-panel .ui-selectonemenu-table td {
    border-color: inherit;
}

.ui-selectonemenu-panel .ui-selectonemenu-table th,
.ui-selectonemenu-panel .ui-selectonemenu-table td {
    border-width: 1px;
    border-style: solid;
    padding:4px 10px 4px 10px;
}

.ui-selectonemenu-panel .ui-selectonemenu-filter {
    width: 85%;
    padding-right:15px;
}

.ui-selectonemenu-panel .ui-selectonemenu-filter-container {
    position: relative;
    margin: 0;
    padding: 0.4em;
    display: inline-block;
}

.ui-selectonemenu-panel .ui-selectonemenu-filter-container .ui-icon {
    position: absolute;
    top: 10px;
    right: 10px;
}

.ui-state-disabled a{outline: none;}

/* Button */
.ui-button {
    display: inline-block;
    position: relative;
    padding: 0;
    margin-right: .1em;
    text-decoration: none !important;
    cursor: pointer;
    text-align: center;
    zoom: 1;
    overflow: visible; /* the overflow property removes extra width in IE */
}

.ui-button-icon-only {
    width: 2.4em;
}

/*button text element */
.ui-button .ui-button-text {
    display: block;
    line-height: normal;
}

.ui-button-text-only .ui-button-text {
    padding: .3em 1em;
}

.ui-button-icon-only .ui-button-text {
    padding: .3em;
    text-indent: -9999999px;
}

.ui-button-text-icon-left .ui-button-text {
    padding: .3em 1em .3em 2.1em;
}

.ui-button-text-icon-right .ui-button-text {
    padding: .3em 2.1em .3em 1em;
}

/*button icon element(s) */
.ui-button-icon-only .ui-icon,
.ui-button-text-icon-left .ui-icon,
.ui-button-text-icon-right .ui-icon {
    position: absolute;
    top: 50%;
    margin-top: -8px;
}

/* FontAwesome icon */
.ui-button-icon-only .ui-icon.fa,
.ui-button-text-icon-left .ui-icon.fa,
.ui-button-text-icon-right .ui-icon.fa,
.ui-button-icon-only .ui-icon.fab,
.ui-button-text-icon-left .ui-icon.fab,
.ui-button-text-icon-right .ui-icon.fab,
.ui-button-icon-only .ui-icon.far,
.ui-button-text-icon-left .ui-icon.far,
.ui-button-text-icon-right .ui-icon.far,
.ui-button-icon-only .ui-icon.fas,
.ui-button-text-icon-left .ui-icon.fas,
.ui-button-text-icon-right .ui-icon.fas,
.ui-button-icon-only .ui-icon.fal,
.ui-button-text-icon-left .ui-icon.fal,
.ui-button-text-icon-right .ui-icon.fal {
    margin-top: -7px;
}

.ui-button-icon-only .ui-icon {
    left: 50%;
    margin-left: -8px;
}

.ui-button-icon-left {
    left: .5em;
}

.ui-button-icon-right {
    right: .5em;
}

/*button sets*/
.ui-buttonset .ui-button {
    margin-left: 0;
    margin-right: 0;
}

/* workarounds */
button.ui-button::-moz-focus-inner {
    border: 0; padding: 0; /* reset extra padding in Firefox */
}

.ui-linkbutton.ui-button.ui-state-default > a {
    color: inherit;
}

.ui-linkbutton.ui-button.ui-state-hover > a {
    color: inherit;
}

/** SelectCheckbox Menu **/
.ui-selectcheckboxmenu {
    display: inline-block;
    position: relative;
    width: auto;
    zoom: 1;
    cursor: pointer;
}

.ui-selectcheckboxmenu .ui-selectcheckboxmenu-trigger {
    border-right: none;
    border-top: none;
    border-bottom: none;
    cursor: pointer;
    width: 16px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    padding: 0 3px;
}

.ui-selectcheckboxmenu .ui-selectcheckboxmenu-trigger  .ui-icon {
    margin-top: 3px;
}

.ui-selectcheckboxmenu .ui-selectcheckboxmenu-label  {
    display: block;
    padding: 3px 26px 3px 5px;
    width: auto;
    border: none;
    cursor: pointer;
}

.ui-selectcheckboxmenu.ui-state-disabled .ui-selectcheckboxmenu-trigger,
.ui-selectcheckboxmenu.ui-state-disabled .ui-selectcheckboxmenu-label {
    cursor: auto
}

.ui-selectcheckboxmenu-panel {
    padding: 0.2em;
    position: absolute;
    overflow: hidden;
    -moz-box-shadow: 0px 5px 10px rgba(0,0,0,0.8);
    -webkit-box-shadow: 0px 5px 10px rgba(0,0,0,0.8);
    box-shadow: 0px 5px 10px rgba(0,0,0,0.8);
}

.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-items-wrapper {
    overflow: auto;
    position: relative;
    padding: 0.2em 0;
}

.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-list {
    border: 0 none;
}

.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-list-item {
    border:0px none;
    cursor:pointer;
    font-weight:normal;
    margin:1px 0;
    padding:3px 5px;
    text-align:left;
    white-space: nowrap;
}

.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-list-item {
    display: block;
    position: relative;
}

.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-list-item .ui-chkbox {
    position: absolute;
    top:50%;
    margin-top:-8px;
}

.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-list-item label {
    display: block;
    padding-left: 2em;
}

.ui-selectcheckboxmenu-panel .ui-selectcheckboxmenu-item-group {
    font-weight: bold;
}

.ui-selectcheckboxmenu-header {
    margin-bottom: 0.3em;
    padding: 0.3em 0 0.3em 0.4em
}

.ui-selectcheckboxmenu-header .ui-chkbox {
    float:left;
    cursor:pointer;
}

.ui-selectcheckboxmenu-header .ui-selectcheckboxmenu-filter-container {
    float: left;
    position: relative;
    margin-left: 5px;
}

.ui-selectcheckboxmenu-header .ui-selectcheckboxmenu-filter-container .ui-icon{
    position: absolute;
    right: 5px;
    top: 2px;
}

.ui-selectcheckboxmenu-header .ui-inputfield {
    padding: 1px 20px 1px 2px;
}

.ui-selectcheckboxmenu-header span.ui-icon {
    float:left;
}

.ui-selectcheckboxmenu-header a.ui-selectcheckboxmenu-all,
.ui-selectcheckboxmenu-header a.ui-selectcheckboxmenu-none {
    float:left;
    margin-right: 10px;
    display: block;
}

.ui-selectcheckboxmenu-header .ui-selectcheckboxmenu-close {
    float:right;
    padding:1px;
    margin-right:0.2em;
    display: block;
}

.ui-selectcheckboxmenu-header .ui-selectcheckboxmenu-close.ui-state-hover {
    padding:0px;
}

.ui-selectcheckboxmenu-multiple-container {
    clear: left;
    cursor: pointer;
    list-style-type: none;
    margin: 0;
    min-height: 24px;
    overflow: hidden;
    min-width: 100px;
}

.ui-selectcheckboxmenu-multiple-container.ui-inputfield {
    padding:0 22px 0 0;
    border: 0;
}

.ui-selectcheckboxmenu-token {
    cursor: default;
    float: left;
    overflow: hidden;
    padding: 1px 3px;
    white-space: nowrap;
    position: relative;
    margin:2px;
}

.ui-selectcheckboxmenu-token-label {
    display: block;
    padding: 0em 2.1em 0em 0.5em;
}

.ui-selectcheckboxmenu-token-icon {
    margin-top: -9px;
    position: absolute;
    right: 0.2em;
    top: 50%;
    cursor: pointer;
}

.ui-selectcheckboxmenu-input-token {
    float: left;
    list-style-type: none;
    margin: 1px;
    padding: 0;
}

.ui-selectcheckboxmenu-input-token input {
    border: 0 none;
    width: 140px;
    outline: medium none;
    background-color: transparent;
    margin:2px;
}

.ui-selectcheckboxmenu-multiple .ui-selectcheckboxmenu-trigger  .ui-icon {
    position: relative;
    top: 50%;
    margin-top: -8px;
}

.ui-splitbutton {
    position: relative;
    padding-right: 2em;
}

.ui-splitbutton .ui-button.ui-splitbutton-menubutton {
    position: absolute;
    top: 0px;
    margin-left: -1px;
    right: 0px;
}

.ui-splitbuttonmenu .ui-splitbuttonmenu-filter-container {
    position: relative;
    margin: 0;
    padding: 0.4em 0;
    display: inline-block;
}

.ui-splitbuttonmenu .ui-splitbuttonmenu-filter {
    width: 100%;
    padding-right: 15px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.ui-splitbuttonmenu .ui-splitbuttonmenu-filter-container .ui-icon {
    position: absolute;
    top: 10px;
    right: 10px;
}

.ui-splitbuttonmenu .ui-splitbuttonmenu-list-wrapper {
    overflow: auto;
}

.ui-splitbuttonmenu.ui-menu .ui-menu-list .ui-widget-header,
.ui-splitbuttonmenu.ui-menu .ui-menuitem-link {
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/** IE Hacks **/
div.ui-button, .ui-splitbutton {
    display: inline-block;
    zoom: 1;
}

/** Password **/
.ui-password-panel {
    padding: 4px 10px;
    width: 150px;
    margin-top: 2px;
}

.ui-password-panel .ui-password-meter {
    height: 10px;
    background:transparent url("#{resource['primefaces:forms/password-meter.png']}") no-repeat left top;
    padding: 0;
    margin: 0;
}

.ui-password-info {
    margin-top: 4px;
}

.ui-password-panel-overlay {
    position: absolute;
}

/* OutputLabel */
.ui-outputlabel.ui-state-error {
    border:0 none;
}

.ui-outputlabel .ui-outputlabel-rfi {
    margin-left: 0.4em;
}
/* SelectOneButton */
.ui-selectonebutton{
    display: inline-block;
    padding:1px;
}

.ui-selectonebutton.ui-state-error{
    padding:0px;
}

.ui-selectonebutton .ui-button.ui-state-focus{
    outline: none;
}
/* SelectManyButton */
.ui-selectmanybutton{
    display: inline-block;
    padding:1px;
}

.ui-selectmanybutton.ui-state-error{
    padding:0px;
}

.ui-selectmanybutton .ui-button.ui-state-focus{
    outline: none;
}

/** Fluid **/
.ui-fluid .ui-inputfield {
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

/** InputText **/
.ui-fluid .ui-inputtext {
    width: 100%;
}

/** InputNumber **/
.ui-fluid .ui-inputnumber {
    width: 100%;
}

.ui-fluid .ui-inputtext[size],
.ui-fluid .ui-inputfield[size] {
    width: auto;
}

/** InputTextarea **/
.ui-fluid .ui-inputtextarea {
    width: 100%;
}

/** SelectOneMenu **/
.ui-fluid .ui-selectonemenu {
    width: 100%;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}
.ui-fluid .ui-selectonemenu .ui-selectonemenu-trigger {
    width: 32px;
    padding: 0 6px;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

/** Calendar **/
.ui-fluid .ui-calendar, .ui-fluid .ui-calendar input {
    width: 100%;
}

.ui-fluid .ui-calendar {
    position: relative;
}

.ui-fluid .ui-trigger-calendar .ui-datepicker-trigger.ui-button {
    position: absolute;
    right: -2px;
    width: 2.4em;
}

.ui-fluid .ui-trigger-calendar .ui-button-icon-only .ui-button-text {
    padding: 0.28em;
}

.ui-fluid .ui-trigger-calendar input.hasDatepicker {
    padding-right: 2.4em;
}

/** Spinner **/
.ui-fluid .ui-spinner {
    width: 100%;
}
.ui-fluid .ui-spinner .ui-spinner-input {
    padding-right: 36px;
    width: 100%;
}
.ui-fluid .ui-spinner .ui-spinner-button {
    width: auto;
}
.ui-fluid .ui-spinner .ui-spinner-button .ui-icon {
    left: 6px;
}

/** AutoComplete **/
.ui-fluid .ui-autocomplete,
.ui-fluid .ui-autocomplete-input {
    width: 100%;
}

.ui-fluid .ui-autocomplete .ui-autocomplete-dropdown.ui-button {
    width: 2.4em;
}

/** InputMask **/
.ui-fluid .ui-inputmask {
    width: 100%;
}

/** Password **/
.ui-fluid .ui-password {
    width: 100%;
}

/** Keyboard **/
.ui-fluid .ui-keyboard-input {
    width: 100%;
}

/** CheckboxMenu **/
.ui-fluid .ui-selectcheckboxmenu {
    width: 100%;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

.ui-fluid .ui-selectcheckboxmenu .ui-selectcheckboxmenu-trigger .ui-icon {
    margin-left: auto;
    margin-right: auto;
}

.ui-fluid .ui-selectcheckboxmenu-trigger {
    width: 32px;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

/** Button **/
.ui-fluid .ui-button {
    width: 100%;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

/** ButtonSet **/
.ui-fluid .ui-buttonset {
    width: 100%;
}

.ui-fluid .ui-buttonset.ui-buttonset-1 .ui-button {width: 100%;}
.ui-fluid .ui-buttonset.ui-buttonset-2 .ui-button {width: 50%;}
.ui-fluid .ui-buttonset.ui-buttonset-3 .ui-button {width: 33.3%;}
.ui-fluid .ui-buttonset.ui-buttonset-4 .ui-button {width: 25%;}
.ui-fluid .ui-buttonset.ui-buttonset-5 .ui-button {width: 20%;}
.ui-fluid .ui-buttonset.ui-buttonset-6 .ui-button {width: 16.6%;}

@media (max-width: 640px) {
    .ui-fluid .ui-buttonset.ui-buttonset-1 .ui-button,
    .ui-fluid .ui-buttonset.ui-buttonset-2 .ui-button,
    .ui-fluid .ui-buttonset.ui-buttonset-3 .ui-button,
    .ui-fluid .ui-buttonset.ui-buttonset-4 .ui-button,
    .ui-fluid .ui-buttonset.ui-buttonset-5 .ui-button,
    .ui-fluid .ui-buttonset.ui-buttonset-6 .ui-button {
        width: 100%;
    }
}

/** SplitButton **/
.ui-fluid .ui-splitbutton {
    width: 100%;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

.ui-fluid .ui-splitbutton .ui-button {
    width: 100%;
}

.ui-fluid .ui-splitbutton .ui-button.ui-splitbutton-menubutton {
    width: 32px;
    box-sizing: border-box;
    -webkit-box-sizing:border-box;
    -moz-box-sizing: border-box;
}

/** Listbox **/
.ui-fluid .ui-selectonelistbox,
.ui-fluid .ui-selectmanymenu {
    width: 100%;
}

/** Floating Label **/
.ui-float-label {
    display: block;
    position:relative;
}

.ui-float-label > label {
    font-weight: normal;
    position: absolute;
    pointer-events: none;
    left: .25em;
    top: 50%;
    margin-top: -.5em;
    transition: 0.3s ease all;
    -moz-transition: 0.3s ease all;
    -webkit-transition: 0.3s ease all;
    color: #898989;
    line-height: 1;
}

.ui-float-label > textarea ~ label {
    top: 1.2em;
}

.ui-float-label > input:focus ~ label,
.ui-float-label > input.ui-state-filled ~ label,
.ui-float-label > input:-webkit-autofill ~ label,
.ui-float-label > textarea:focus ~ label,
.ui-float-label > textarea.ui-state-filled ~ label,
.ui-float-label > textarea:-webkit-autofill ~ label,
.ui-float-label > .ui-inputwrapper-focus ~ label,
.ui-float-label > .ui-inputwrapper-filled ~ label {
    top: -.75em;
    font-size: 12px;
}
